Design It!
#読書メモ
Design It! プログラマーのためのアーキテクティング入門
https://www.amazon.co.jp/dp/4873118956
3部構成になっている。
第1部:心構え、考え方のフレームワークなど、前提となることの説明。
第2部:設計の段階を1つ1つの説明。ここが厚め。
第3部:細かいTipsの紹介。
以下、気になったことをメモする。
第I部:ソフトウェアアーキテクト入門
1章:ソフトウェアアーキテクトになる
品質特性とアーキテクチャ
実装された品質は、要求に対して過剰であったり貧弱であったりする。
アーキテクチャは特定の品質特性を促進する。
構造=要素+関係
構造はある要素と別の要素を関係で繋ぐことで表現される。
3種類の構造
2章:デザイン思考の基礎
第II部:アーキテクチャ設計の基礎
3章:デザイン戦略を立てる
全体のスケジュールのうちどれくらいをアーキテクチャ設計にかけるかの判断の話。
リスク記述
4章:ステークホルダーに共感する
ステークホルダーマップ。関係者相関図のこと。
ビジネス目標
ビジネス目標は3〜5ヶくらいが適当。多すぎると良くない。
5章:アーキテクチャ上重要な要求を掘り下げる
アーキテクチャ上の重要な要求
6章:アーキテクチャを選ぶ
選択肢を広げて発散させてから収束する
あるアーキテクチャが品質特性を促進するか阻害するかの表を作る
7章:パターンで土台を作る
アーキテクチャパターン
8章:意味のあるモデルで複雑さを扱う
確立した語彙を使い、着目したい細部に目を向ける。優れたモデルは、品質特性を考える役に立ち、アーキテクトの考慮・意図を記録できる。
「関心のある〜」という表現はしたくない。何に関心を向けるかは主観的な問題で設計者の責任なので、あえて主観的に「着目したい」と言い換えてみる
メタモデル
良い名前へのステップ
9章:アーキテクチャデザインスタジオを開く
共同作業のための色々(あんまり興味ない)
10章:設計判断を可視化する
タンジブル=実際に見て触れること。アイディアを効率的に共有するにはタンジブルにするのが一番。
図中にあるものは色・形・向き・フォント・位置、全てに意味を持たせ一貫性を保つ。一貫性によって単純さを目指す。
11章:アーキテクチャを記述する
文書化されたアーキテクチャ記述は、計画のための資産であり、コミュニケーションを支える。
アーキテクチャ記述の4象限
12章:アーキテクチャに通知表をつける
アーキテクチャを評価してフィードバックを得るための色々。
「どのように良いか」の評価にはアーキテクチャ上の重要な要求を使用する。
アーキテクチャトレードオフ分析法
13章:チームのアーキテクト力を強める
開発チームとアーキテクトとの関わりについて。
権限委譲の7つのレベル
デリゲーションポーカー
第III部:アーキテクトの道具箱
14章:問題理解のアクティビティ
15章:潜在的な解決策を探るアクティビティ
16章:設計をタンジブルにするアクティビティ
17章:設計の選択肢を評価するアクティビティ
/icons/hr.icon
Sponsored by Chatwork
この書籍は新井の希望によりChatwork社の経費で購入され新井に貸与された。
Chatwork社で働くとこのような福利厚生を受けることができる。
https://recruit.chatwork.com/jobs/